﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CoreInmobiliario.Frontend
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               
            }
        }

        public Int32 GetRandom(int count)
        {
            Random rnd = new Random();
            int index = rnd.Next(count);

            return index;
        }

        public string GetImagenPortada(int publicacionId)
        {
            try
            {
                Data.Publicacion publicacion = Business.Publicacion.GetInstance().GetById(publicacionId);
                string[] filesImages = System.IO.Directory.GetFiles(MapPathSecure(HelperClasses.Utils.GetConfig(HelperClasses.Parameters.PROPIEDADES_PATH) + publicacion.PropiedadId.ToString() + "/"));

                if (filesImages.Length > 0)
                {
                    filesImages[0] = filesImages[0].Replace("\\", "/");
                    string[] subDirectory = filesImages[0].Split(char.Parse("/"));

                    string pathImagePortada = HelperClasses.Utils.GetConfig(HelperClasses.Parameters.PROPIEDADES_PATH) + publicacion.PropiedadId.ToString() + "/" + subDirectory[subDirectory.Length - 1];

                    return pathImagePortada.Substring(2);
                }
                else
                    return "Images/Style/sin_foto.jpg";
            }
            catch (Exception ex)
            { return "Images/Style/sin_foto.jpg"; }
        }

        public string GetSeccionDestacados()
        {
            List<Data.Publicacion> publicaciones = new List<Data.Publicacion>();
            List<Data.Publicacion> list = Business.Publicacion.GetInstance().GetDestacados(true);

            if (list.Count > 0)
            {
                while(publicaciones.Count < 6)
                {
                    if (publicaciones.Count < list.Count)
                    {
                        int index = GetRandom(list.Count);
                        if (!publicaciones.Contains((Data.Publicacion)list[index]))
                            publicaciones.Add((Data.Publicacion)list[index]);
                    }
                    else
                        break;
                }
            }

            if (publicaciones.Count < 6)
            {
                list = Business.Publicacion.GetInstance().GetDestacados(false);
                int tope = publicaciones.Count + list.Count;
                while (publicaciones.Count < 6)
                {
                    if (publicaciones.Count < tope)
                    {
                        int index = GetRandom(list.Count);
                        if (!publicaciones.Contains((Data.Publicacion)list[index]))
                            publicaciones.Add((Data.Publicacion)list[index]);
                    }
                    else
                        break;
                }
            }

            string seccion = "<table style='height:480px; position:relative; bottom:120px;'>";

            for (int r = 0; r < publicaciones.Count; r++)
            {
                if(r == 0 || r == 3)
                    seccion += "<tr valign='top'>";

                seccion += "<td style='width:260px;'>";
                seccion += "<div class='box'>" +
                           "     <div class='inner'>" +
                           "         <h2>" + publicaciones[r].Operacion.Nombre + "</h2>" +
                           "         <img class='imgBuscador' style='width:200px; height:120px;' src='" + GetImagenPortada(publicaciones[r].PublicacionId) + "' />" +
                           "         <p>";
                seccion += publicaciones[r].Propiedad.Descripcion.Length > 256 ? publicaciones[r].Propiedad.Descripcion.Substring(0, 256) + "..." : publicaciones[r].Propiedad.Descripcion;
                seccion += "         </p>" +
                           "         <div class='btn-container-box'>" +
                           "             <div class='button-box'>" +
                           "                 <input type='button' class='button' value='Ver mas' onclick='window.location=\"Publicacion.aspx?id=" + publicaciones[r].PublicacionId.ToString() + "\"' />" +
                           "             </div>" +
                           "         </div>" +
                           "     </div>" +
                           "</div>";
                seccion += "</td>";

                if (r == 2 || r == 5 || publicaciones.Count - 1 == r)
                    seccion += "</tr>";
                
            }

            seccion += "</table>";

            return seccion;
        }


        


    }
}